package com.aaa.cart.service;

import com.aaa.cart.dao.CartDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * fileName:CartServiceImpl
 * description:
 * author:MT
 * createTime:2020/2/20 18:10
 * version:1.0.0
 */
@Service
public class CartServiceImpl implements CartService {
    @Autowired
    private CartDao cartDao;

    /**
     * 添加商品到购物车
     * 若该商品已存在数量加一
     * 不存在则添加到购物车
     * @param map
     * @return
     */
    @Override
    public int addToCart(Map map) {
        Integer res = cartDao.isAddCart(map);
//          Integer res = cartDao.selectCartItemQuantityById(map);
        System.out.println("res:"+res);
        if (res==null)
        {
            return cartDao.insertCartItem(map);
        }
        return cartDao.addCartItemQuantity(map);

    }

    /**
     * 减少购物车商品数量
     * @param map
     * @return
     */
    @Override
    public int minusToCart(Map map) {
        Integer res = cartDao.selectCartItemQuantityById(map);
        if (res==null)
        {
            res=0;
        }
        if(res==1) {
            return cartDao.deleteCartItemById(map);
        }
        return cartDao.minusCartItemQuantity(map);
    }



    /**
     * 查询购物车中的所有商品
     *
     * @param map 购物车信息
     * @return 购物车集合
     */
    @Override
    public List<Map> queryCartItem(Map map) {
        return cartDao.selectCartItemList(map);
    }

    /**
     * 删除购物车
     * @param map
     * @return
     */
    @Override
    public int deleteCartItemById(Map map) {
        return cartDao.deleteCartItemById(map);
    }
}
